Video streaming over Internet Protocol (IP) networks has enabled a wide range of multimedia applications. Internet video streaming provides real-time delivery and presentation of continuous media content while compensating for the lack of Quality-of-Service (QoS) guarantees over the Internet. Due to the variation and unpredictability of bandwidth and other performance parameters (e.g., packet loss rate) over IP networks, in general, most of the proposed streaming solutions are based on some type of a layered (or scalable) video coding scheme.
Several video scalability approaches have been adopted by video compression standards such as MPEG-2, MPEG-4, and H.263. Temporal, spatial, and quality (SNR) scalability types have been defined in these standards. All of these types of scalable video include a Base Layer (BL) and one or more Enhancement Layers (ELs). The BL part of the scalable video stream represents, in general, the minimum amount of data needed for decoding that stream. The EL part of the stream represents additional information, and therefore enhances the video signal representation when decoded by the receiver.
Fine Granular Scalability (FGS) is a new video compression framework that has been recently adopted by the MPEG-4 standard for streaming applications. FGS is capable of supporting a wide range of bandwidth-variation scenarios that characterize IP-based networks, in general, and the Internet, in particular. Images coded with this type of scalability can be decoded progressively. That is, the decoder can start decoding and displaying the image after receiving a very small amount of data. As the decoder receives more data, the quality of the decoded image is progressively enhanced until the complete information is received, decoded, and displayed. Among lead international standards, progressive image coding is one of the modes supported in JPEG and the still-image, texture coding tool in MPEG-4 video.
The EL compresses the SNR and temporal residual data using a progressive (embedded) codec. In this way, the FGS residual signal is compressed bit-plane by bit-plane, starting with the most significant bit-plane and ending with the least significant (see FIG. 5). In prior art decoders, the entire number of bit-planes received is decoded. FIG. 5 shows an example of such FGS enhancement-layer bit-planes, with progressive (Bit-plane by bit-plane) coding from the most significant bit (MSB) to the least significant bit (LSB), across the entire frame.
Alternatively, to reduce complexity, a decoder can stop decoding after a given number of bit-planes is received and decoded. For example, given a data rate constraint R and a frame rate fr, the decoder can be stopped after decoding R/fr bits per frame. However, discarding bit-planes in order to decrease the decoder complexity can lead to undesired visual quality. In addition, if decoding is stopped when the prescribed bit rate is exactly fulfilled (i.e., exactly R/fr bits are transmitted and decoded per frame), that number of bits will most likely correspond to a non-integer number of bit-planes. For example, the beginning of the image may have three bit-planes, while the end of the image has two bit-planes, leading to inconsistent quality within the same image or sequence.
An improved decoder is desired.